﻿using System.Collections.Generic;

namespace Plan
{
    public class Subject
    {
        public int Id;
        /// <summary>
        /// Określa, czy ten przedmiot musi się odbywać
        /// w klasie specjalnie dla niego przewidzianej
        /// </summary>
        public bool NeedsDedicatedClassroom;

        public override string ToString()
        {
            return "s" + Id;
        }
    }
    public class Group
    {
        public int Id;
        public List<int> Subjects = new List<int>();
        public override string ToString()
        {
            return "g" + Id;
        }
    }
    public class ClassRoom
    {
        public int Id;
        public int? DedicatedSubject;
        /// <summary>
        /// Zwraca true jeśli DedicatedSubject nie jest ustawiony (null) lub jest ustawiony
        /// ORAZ równy przekazanemu id.
        /// </summary>
        public bool IsCorrectSubject(int subjectId)
        {
            return DedicatedSubject == null || DedicatedSubject == subjectId;
        }
        public override string ToString()
        {
            return "c" + Id;
        }
    }
    public class Teacher
    {
        public int Id;
        public List<int> Subjects = new List<int>();
        /// <summary>
        /// Zwraca true jeśli DedicatedSubject nie jest ustawiony (null) lub jest ustawiony
        /// ORAZ równy przekazanemu id.
        /// </summary>
        public bool IsCorrectSubject(int subjectId)
        {
            return Subjects.Contains(subjectId);
        }
        public override string ToString()
        {
            return "t" + Id;
        }
    }
}